home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / mint / mntlib43 / mntlib / wcscpy.c < prev    next >
C/C++ Source or Header  |  1993-10-20  |  865b  |  49 lines

  1. /* from Henry Spencer's stringlib */
  2. /* check for NULL string added by ERS */
  3.  
  4. #include <stddef.h>
  5. #include <stdlib.h>
  6.  
  7. extern const wchar_t *_wnull;
  8.  
  9. /*
  10.  * wcscpy - copy string src to dst
  11.  */
  12. wchar_t *                /* dst */
  13. wcscpy(dst, src)
  14. wchar_t *dst;
  15. const wchar_t *src;
  16. {
  17.     register wchar_t *dscan = dst;
  18.     register const wchar_t *sscan = src;
  19.  
  20.     if (sscan == NULL) sscan = _wnull;
  21.     while ((*dscan++ = *sscan++))
  22.         continue;
  23.     return(dst);
  24. }
  25.  
  26. /*
  27.  * wcsncpy - copy at most n characters of string src to dst
  28.  */
  29. wchar_t *                /* dst */
  30. wcsncpy(dst, src, n)
  31. wchar_t *dst;
  32. const wchar_t *src;
  33. size_t n;
  34. {
  35.     register wchar_t *dscan;
  36.     register const wchar_t *sscan;
  37.     register long count;
  38.  
  39.     dscan = dst;
  40.     if ((sscan = src) == NULL)
  41.         sscan = _wnull;
  42.     count = n;
  43.     while (--count >= 0 && (*dscan++ = *sscan++))
  44.         continue;
  45.     while (--count >= 0)
  46.         *dscan++ = *_wnull;
  47.     return(dst);
  48. }
  49.